A large variety of communication systems exist for the purpose of communicating data between two or more points. For example, two-way radio communication systems are known to comprise a plurality of communication units (e.g., in-car mobiles or in-hand portables) and repeaters that transmit and receive information via a limited number of radio frequency (RF) communication resources (channels).
The integrity of data communicated via RF channels is typically affected by noise and/or interference, which has the effect of inducing errors in the data being communicated. To achieve reliable data transfers, some type of error-control protocol is needed. Quite often, an automatic repeat-request (ARQ) protocol is used in which error detection coding is performed in a transmitter on sets of data, known as packets or blocks, such that a receiver, experiencing poor channel quality, can detect the occurrence of errors. In the event that correctable errors or no errors are detected, the receiver responds with an acknowledgment (ACK) of correct reception. In the event that uncorrectable errors are detected, the receiver responds with a negative acknowledgment (NACK) indicating that the packet contained uncorrectable errors. Upon reception of a NACK, the transmitter may resend the block or blocks corresponding to the NACK.
The forms of ARQ most commonly used with RF data communication systems are "Stop-And-Wait" ARQ (SAW-ARQ), "Go-Back-N" ARQ (GBN-ARQ), and "Selective Repeat" ARQ (SR-ARQ). These techniques, and various derivatives based on them, are well suited for point-to-point type communications. These ARQ methods, however, function poorly in broadcast data communication systems (i.e., point-to-multipoint data transmission). In such a system, the quality of each communication channel between the transmitter and multiple receivers may vary widely. Those receivers having poor channel quality may require a large, perhaps indefinite, number of re-transmissions in order to correctly receive the data. Since a broadcast transmitter typically delays transmission of further data during the re-transmission of previous data, such receivers can add significantly to the transmission time of the entire data message, thus reducing overall efficiency of the system.
To prevent indefinite delays, it is known in broadcast data communication systems to limit, in the transmitter, the number of re-transmissions for any particular data packet. While this will prevent indeterminate delays in the transmission of a message, it is possible that a single receiver could quickly force the maximum number of re-transmissions. In this case, the transmitter may have little assurance that any data packets were correctly received by any of the receivers.
To avoid these difficulties, other non-ARQ based error control strategies may be used. Such methods, however, may not provide sufficient error protection, particularly when no errors can be tolerated in the messages. Therefore, a need exists for a method of ARQ error protection that does not suffer from the difficulties encountered when used in broadcast data communication systems.